package com.lablzh.gdxy.service;

import com.lablzh.gdxy.entity.course.Course;
import com.lablzh.gdxy.entity.course.CourseApply;
import com.lablzh.gdxy.entity.course.CourseParam;
import com.lablzh.gdxy.entity.course.StudentCourse;
import com.lablzh.gdxy.entity.design.DesignApply;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;

public interface CourseService {
    Map<String, Object> createTeam(Course course);
    List<Course> getAllTeam();
    String chooseCourse(Integer id);
    String deleteCouse(Integer id);
    String updateTeam(Course course);

    Course getTeamById(Integer id);

    List<Course> getCourseTeacher();



    String apply(Integer id);

    String undo(Integer id);

    List<CourseApply> applyTeacher(Integer id);


    List<CourseApply> applyStudent();

    String confirm(Integer id);

    String refuse(Integer id);

    List<StudentCourse> getCourseStudent();

    List<StudentCourse> getChoosed(Integer id);

    List<StudentCourse> getStudentBySummit(String summit, Integer id);

    List<StudentCourse> getStudentByReview(String review, Integer id);

    String review(Integer id, String studentUsername, Integer score, String level,String note);

    Map<String, Object> queryPerformance(StudentCourse studentCourse,int page);

    void downloadExcel(StudentCourse studentCourse, String sort,HttpServletRequest request, HttpServletResponse response) throws FileNotFoundException;

    Map<String, String> uploadReport(HttpServletRequest request, String category, Integer id) throws IOException;

    String deleteTeam(Integer id);

    List<Course> getTeamStudent();


    String updateTeamParameter(CourseParam courseParam);

    List<CourseApply> getCourseStudentApply();

    String deleteStudent(Integer id);
}
